Collaboration or collaborative sessions, including multimedia collaboration, are being utilized in an increasing number of applications to facilitate exchange of data and information. In an exemplary collaboration scenario, a group of entities communicates over the Internet and exchanges information and media to achieve a specific goal. While initial applications of collaboration sessions included text-based “Chat” and control-based “Network Games,” more recent applications provide exchange of bandwidth intensive media in collaborative sessions. The main goal of collaboration sessions includes the exchange of data (including different types of data) between the participants of a session.
Different collaborative applications have different requirements for data flow between participants. For example, a group discussion application may need every participant to know what another participant is communicating. In contrast, a distance learning application would enable teacher(s) to talk to all or any students, but students should be allowed to talk only to teacher(s) to ask questions. Other arrangements or applications having other rules for data flow are possible.
In some arrangements, participants log into a server or server network which is configured to implement the communication of data between the participants. Rules are specified which control the flow of data based upon the type of collaboration session. Different server infrastructures are arranged to accommodate different collaboration applications. The use of different server infrastructures for respective collaboration applications has associated drawbacks inasmuch as the infrastructures may be relatively focused, inflexible devices which may not be easily configured for other types of applications.
Aspects of the present invention provide apparatus and methods for improving communications in collaboration sessions.